package com.translate.web.service;

import java.util.List;

import com.translate.entity.CustomerAccessLabel;
import com.basic.service.contract.IBaseService;
import com.translate.vo.contract.ICustomerFlagVO;
import com.translate.web.param.contract.ICustomerAccessLabelParam;
import com.translate.web.param.contract.ICustomerAccessLabelUpdateParam;

/**
 * 客户服务
 * @author 111
 */
public interface ICustomerAccessLabelService extends IBaseService<CustomerAccessLabel>{

	/**
	 * 处理批量添加
	 * @param <S>
	 * @param accessLabelParams
	 * @return
	 */
	<S extends ICustomerAccessLabelParam> int parseBatchInsert(List<S> accessLabelParams, int customerId);
	
	/**
	 * 根据客户id获取标签
	 * @param <VO>
	 * @param customerId
	 * @param target
	 * @return
	 */
	<VO extends ICustomerFlagVO> List<VO> getFlag(int customerId, Class<VO> target);
	
	/**
	 * 更新操作
	 * @param <S>
	 * @param updateModule
	 * @param customerId
	 * @return
	 */
	public <S extends ICustomerAccessLabelUpdateParam> int updateToDatabaseByTranstion(List<S> updateModule, int customerId);
	
	
	
}
